function [scores_acceptors,theta_acceptors,weight_acceptors] = scores_calculate_acceptors(acceptors,acceptors_father)
    bases = {'a', 'c', 'g', 't'};
    contingency_table_donor = zeros(4,4,36);
    for i = 1:36
        for k = 1:length(acceptors)
            temper = char(acceptors{k});
            j = acceptors_father(i);   %父
            if j == 0
                continue;
            end
            base_j = find(strcmp(bases,temper(j)));   %父结点碱基
            base_i = find(strcmp(bases,temper(i)));   %子结点碱基
            contingency_table_donor(base_j, base_i,i) = contingency_table_donor(base_j, base_i,i) + 1;
        end
    end
    
    weight_acceptors = zeros(4,4,36);
    for i = 1:36
        for j = 1:4
            for k = 1:4
                weight_acceptors(j,k,i) = contingency_table_donor(j,k,i)/sum(contingency_table_donor(j,:,i));
            end
        end
    end
    
    for i = 1:36
        s = 0;
        for k = 1:length(acceptors)
            temper = char(acceptors{k});
            j = acceptors_father(i);   %父结点
            if j == 0
                break;
            end
            base_j = find(strcmp(bases,temper(j)));
            base_i = find(strcmp(bases,temper(i)));
            s = s + weight_acceptors(base_j,base_i,i);
        end
        theta_acceptors(i) = s/length(acceptors);
    end
    
    scores_acceptors = 1;
    for i = 1:36
        if theta_acceptors(i)
            scores_acceptors = scores_acceptors*theta_acceptors(i)*4;
        end
    end
end